import compression from 'vite-plugin-compression' //压缩构建输出文件

export default function createCompression(env) {
  const { VITE_BUILD_COMPRESS } = env // env 对象中提取 VITE_BUILD_COMPRESS  环境变量
  const plugin = [] //初始化一个空数组，用于存储要使用的插件
  //如果存在
  if (VITE_BUILD_COMPRESS) {
    const compressList = VITE_BUILD_COMPRESS.split(',') //处理压缩类型
    if (compressList.includes('gzip')) {
      // 如果环境变量中包含 'gzip'，则添加 gzip 压缩插件
      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
      plugin.push(
        compression({
          ext: '.gz', //表示生成的文件扩展名为 .gz
          deleteOriginFile: false, //不删除原始文件
        })
      )
    }
    /*  如果 compressList 包含 'brotli'，
     *  则添加 brotli 压缩插件到 plugin 数组中。
     *  ext: '.br' 表示生成的文件扩展名为 .br，
     *  algorithm: 'brotliCompress' 指定使用 brotli 压缩算法。
     **/
    if (compressList.includes('brotli')) {
      plugin.push(
        compression({
          ext: '.br',
          algorithm: 'brotliCompress',
          deleteOriginFile: false,
        })
      )
    }
  }
  //return出去--包含配置好压缩插件的数组
  return plugin
}

//、、、、、vite使用、、、、、、
